package org.x.user.dto;

import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.Pattern;
import lombok.Data;
import org.x.user.enums.UserTypeEnum;

@Data
public class CreateUserDTO {

    /**
     *
     * username	string	是	用户名，全局唯一
     * password	string	是	初始密码
     * realName	string	否	真实姓名
     * deptId	long	否	部门ID
     * email	string	否	邮箱
     * mobile	string	否	手机号
     * gender	integer	否	性别（0:女，1:男）
     * roleIds	long[]	否	角色ID列表
     */
    @NotEmpty(message = "用户名不能为空")
    private String username;
    @NotEmpty(message = "密码不能为空")
    /**
     * 数字字母和特殊符合要同时有
     */
    @Pattern(regexp = "^[a-zA-Z0-9!@#$%^&*()_+\\-=\\[\\]{}|;:'\",.<>/?]+$",message = "密码必须包含数字字母和特殊符合")
    private String password;
    private String realName;
    private Long deptId;
    private String email;
    private String mobile;
    private Integer gender;
    @NotEmpty(message = "用户角色不能为空")
    private Long[] roleIds;

    /**
     * 0:普通用户
     * 1:管理员
     */
    // 修改为自定义枚举类型
    private UserTypeEnum userType;

}
